package string;

/**
 * java.lang.StringBuilder
 * 专门用来修改String的一个API,内部维护一个可变的char数组,修改都是在这个数组上进行的,
 * 内部会自动扩容,修改速度和性能开销优异,并且提供了修改字符串的常见操作对应的方法:增删改插
 */
public class StringBuilderDemo1 {
    public static void main(String[] args) {
        String str = "好好学习java";

        //内部默认表示一个空字符串
//        StringBuilder builder = new StringBuilder();

        //复制给定字符串到StringBuilder内部
        StringBuilder builder = new StringBuilder(str);
        /*
        好好学习java
        好好学习java,为了找个好工作
        append:追加内容
         */
        builder.append(",为了找个好工作!");
        System.out.println();//输出StringBuilder的内容

        //通过调运toString方法将StringBuilder内容一字符串的形式返回
        str = builder.toString();
        System.out.println(str);
        /*
        好好学习java,为了找个好工作!
        好好学习java,为了改变世界!
        append:追加内容
         */
        builder.replace(9,16,"为了改变世界!");
        System.out.println(builder);
         /*
        好好学习java,为了找个好工作!
        ,为了改变世界!
        delete:删除部分
         */
        builder.delete(0,8);
        System.out.println(builder);
           /*
        好好学习java,为了找个好工作!
        活着,就是为了改变世界!
        insert:删除部分
         */
        builder.insert(0,"活着");
        System.out.println(builder);

        //翻转字符串
        builder.reverse();
        System.out.println(builder);
    }
}